Understanding and Improving a Modern SAT Solver

نویسنده

  • Alexander Nadel
چکیده

Propositional satisfiability (SAT) is an NP-complete problem, holding a central place in computer science and engineering. SAT has numerous applications in formal verification, artificial intelligence and other areas. Modern SAT solvers, using an enhanced version of the backtrack search DavisLogemann-Loveland (DLL) algorithm, are able to successfully cope with instances comprising millions of variables. This work is an attempt to shed new light on the functionality of a modern SAT solver. We also propose a number of enhancements that are practically useful, especially in the formal verification domain. First, we propose a new framework for presenting and analyzing a modern DLL-based SAT solver. Our approach exploits the inherent relation between backtracking and resolution. We show how to derive the algorithm of a modern SAT solver from DLL step-by-step. We analyze the inference power of Boolean Constraint Propagation, Non-Chronological Backtracking and 1UIP-based Conflict-Directed Backjumping. This work is intended to serve as a basis for future work on the inference power of a modern SAT solver and on practical SAT solver design. Second, we define new criteria for measuring the practical impact of different schemes for Conflict-Driven Learning: backward pruning – the number of resolution nodes skipped during backtracking; and forward pruning – the potential impact on reusing conflict clauses in the subsequent search. We show that the minimized 1UIP scheme for Conflict-Driven Learning is better than other known schemes in terms of both backward and forward pruning. This explains its empirical advantage over other schemes. We propose a practically efficient enhancement to the minimized 1UIP scheme, called Local Conflict Clause recording. Third, we propose a new decision heuristic for SAT, called the ClauseBased Heuristic. This heuristic is designed to increase the likelihood that interrelated variables will be chosen in proximity. It maintains a clause list containing both the initial and conflict clauses. The next decision literal is picked from the first unsatisfied clause. We propose various methods for initially organizing the clause list and for moving clauses within it. Our approach results in a significant performance boost over existing heuristics on real-world hard industrial benchmarks. Lastly, we present an algorithm for minimal unsatisfiable core extraction that is able to find a minimal unsatisfiable core for large real-world formulas. Benchmark families, arising in formal verification of hardware, are of particular interest to us. A modern SAT solver is able to produce a resolution refutation of a given unsatisfiable formula, whose sources are the input clauses and whose sink is the empty clause. Our method consists of removing the input clauses connected to the empty clause one by one from the resolution refutation, preserving the validity of the refutation by adding other clauses and resolution relations until no more input clauses can be removed. In the end, all the input clauses, connected to the empty clause, comprise the minimal unsatisfiable core.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

From Total Assignment Enumeration to Modern SAT Solver

A new framework for presenting and analyzing the functionality of a modern DLL-based SAT solver is proposed. Our approach exploits the inherent relation between backtracking and resolution. We show how to derive the algorithm of a modern SAT solver from DLL stepby-step. We analyze the inference power of Boolean Constraint Propagation, Non-Chronological Backtracking and 1UIP-based Conflict-Direc...

متن کامل

Towards a Better Understanding of the Functionality of a Conflict-Driven SAT Solver

We show that modern conflict-driven SAT solvers implicitly build and prune a decision tree whose nodes are associated with flipped variables. Practical usefulness of conflict-driven learning schemes, like 1UIP or AllUIP, depends on their ability to guide the solver towards refutations associated with compact decision trees. We propose an enhancement of 1UIP that is empirically helpful for real-...

متن کامل

versat: A Verified Modern SAT Solver

This paper presents versat, a formally verified SAT solver incorporating the essential features of modern SAT solvers, including clause learning, watched literals, optimized conflict analysis, non-chronological backtracking, and decision heuristics. Unlike previous related work on SAT-solver verification, our implementation uses efficient low-level data structures like mutable C arrays for clau...

متن کامل

Improving SAT Solvers Using State-of-the-Art Techniques

This work discusses modern techniques of state-of-the-art SAT solvers. Since most techniques are published without regard to the effect to recent techniques of other developers, this interference is studied in this work. Therefore, configurations for SAT solver components are combined and the performance of these combinations is analyzed. The SAT solver is divided into the following components:...

متن کامل

The International SAT Solver Competitions

is satisfiable is one of the most fundamental problems in computer science, known as the canonical NP-complete Boolean satisfiability (SAT) problem (Biere et al. 2009). In addition to its theoretical importance, major advances in the development of robust implementations of decision procedures for SAT, SAT solvers, have established SAT as an important declarative approach for attacking various ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008